[Experimental WIP] feat: implement extended containers (ADR 001) to lift 13-bit size limit#10
Conversation
- Add TypeExtendedTagContainer (2) with 32-bit offsets - Implement ExtendedPutAccess with automatic segmentation (default 4KB pivot) - Implement ExtendedGetAccess for transparent chain reading - Add high-level pack functions: PackExtended, PackExtendedWithMapStr, etc. - Support int/uint types in generic packing - Full test coverage for encoding/decoding and edge cases Closes ADR-001
…ding (ADR 002) ADR 001 - Extended Containers: - Add TypeExtendedTagContainer (2) with 32-bit offsets (SelfOffset + Continuation) - Implement ExtendedPutAccess with automatic segmentation (default 4KB pivot) - Implement ExtendedGetAccess for transparent chain reading - Add high-level pack functions: PackExtended, PackExtendedWithMapStr, etc. - Full integration with existing PackOS types ADR 002 - Length-Agnostic Implicit Array Encoding: - Arrays detected when payload > 8 bytes - First byte indicates element size (1,2,4,8) - Element count calculated as (payloadSize - 1) / elementSize - Support int8/int16/int32/int64 and float32/float64 arrays - Add PutAccess.AddIntegerArray/AddFloatArray - Add PackInt64Array/PackFloat64Array high-level functions Both ADRs are fully integrated: - Arrays >4KB automatically use extended containers - Complete test coverage for all scenarios - Backward compatible with existing scalar values Closes ADR-001 Closes ADR-002
…adding ExtendedContainer and ExtendedReader types with triplet tracking and BFS/DFS access.
Key Features Implemented:
Technical Details:
Include buffer pooling via existing |
740c41a
into
quickwritereader:experimental
|
@heartical bro I merged it, but it will not propogated to main with the current. |
|
@heartical then tuple, map, and at the end root itself.
|
|
adr02 was rebased onto main. and also you were added as a contributor. thanks a lot. |
feat: implement extended containers (ADR 001) and implicit array encoding (ADR 002)
ADR 001 - Extended Containers:
ADR 002 - Length-Agnostic Implicit Array Encoding:
Both ADRs are fully integrated:
Closes ADR-001
Closes ADR-002